@echo off
echo ========================================
echo    Windows Docker 快速修复脚本
echo ========================================
echo.

:: 检查Docker是否运行
echo 🔍 检查Docker状态...
docker info >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Docker Desktop未运行，请先启动Docker Desktop
    pause
    exit /b 1
)

echo ✅ Docker Desktop运行正常

:: 禁用BuildKit (解决网络问题)
echo.
echo 🔧 禁用Docker BuildKit (解决网络连接问题)...
set DOCKER_BUILDKIT=0
echo 已设置 DOCKER_BUILDKIT=0

:: 预拉取镜像 (优先使用官方镜像)
echo.
echo 📦 预拉取Node.js镜像 (使用官方Docker Hub)...
docker pull node:14.21.3-bullseye
if %errorlevel% neq 0 (
    echo ⚠️  官方镜像拉取失败，尝试阿里云镜像...
    docker pull registry.cn-hangzhou.aliyuncs.com/library/node:14.21.3-bullseye
    if %errorlevel% neq 0 (
        echo ❌ 所有镜像源都拉取失败
        echo 💡 请检查网络连接或配置代理
        echo 💡 如果在企业网络，可能需要配置代理设置
        pause
        exit /b 1
    ) else (
        echo 🏷️  创建官方标签...
        docker tag registry.cn-hangzhou.aliyuncs.com/library/node:14.21.3-bullseye node:14.21.3-bullseye
    )
)

echo ✅ Node.js镜像准备完成

:: 清理Docker缓存
echo.
echo 🧹 清理Docker构建缓存...
docker builder prune -f >nul 2>&1

echo.
echo ========================================
echo ✅ Windows Docker修复完成！
echo ========================================
echo.
echo 💡 修复内容:
echo    1. 禁用了Docker BuildKit
echo    2. 预拉取了Node.js镜像
echo    3. 清理了构建缓存
echo.
echo 现在可以重新尝试构建项目了！
echo.
pause
